<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:38:17 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[GODRIVER-2306] Adding indexes to fields using StructTags</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2306</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Defining indexes or unique fields in MongoDB in Golang requires one to create it manually for each field. It takes the index definition away from the main model definition.&lt;/p&gt;

&lt;p&gt;I would like to propose a method to create indexes for each field using the StructTags&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;type User struct {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	Id       primitive.ObjectID&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	Email    string             `mongo:&quot;unique&quot;`&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;I created something similar for this here: &lt;a href=&quot;https://github.com/ShauryaAg/ProductAPI/blob/master/utils/db.go#L19&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Migrate() function&lt;/a&gt;&lt;br/&gt;
The above-mentioned method is definitely not perfect, since I created it for one-time use.&lt;/p&gt;

&lt;p&gt;The working on the method can be tested here: &lt;a href=&quot;https://github.com/ShauryaAg/ProductAPI&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ShauryaAg/ProductAPI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would love to work on this.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1982031">GODRIVER-2306</key>
            <summary>Adding indexes to fields using StructTags</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="12300">Won&apos;t Do</resolution>
                                        <assignee username="benji.rewis@mongodb.com">Benji Rewis</assignee>
                                    <reporter username="agarwal.lucky.shaurya11@gmail.com">Shaurya Agarwal</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Feb 2022 16:58:06 +0000</created>
                <updated>Thu, 2 Jun 2022 14:00:59 +0000</updated>
                            <resolved>Tue, 22 Feb 2022 19:56:07 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4374621" author="benji.rewis" created="Thu, 24 Feb 2022 16:22:33 +0000"  >&lt;p&gt;From what I can tell, the Javascript (Node) driver does not have any extra functionality in its &lt;a href=&quot;https://mongodb.github.io/node-mongodb-native/4.4/interfaces/CreateCollectionOptions.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;CreateCollectionOptions&lt;/a&gt; as compared to the Go driver. &lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/blob/master/mongo/options/createcollectionoptions.go#L107-L111&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Validator&lt;/a&gt; is also a document (interface{}) that can be specified in &lt;tt&gt;CreateCollectionOptions&lt;/tt&gt; in the Go driver. Maybe I&#8217;m not understanding what you&#8217;re referring to, but &lt;tt&gt;minimum&lt;/tt&gt; and &lt;tt&gt;maximum&lt;/tt&gt; fields in the &lt;tt&gt;Validator&lt;/tt&gt; document can certainly be used in the Go driver and are distinct from the &lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/blob/master/mongo/options/indexoptions.go#L235-L237&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Min&lt;/a&gt; and &lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/blob/master/mongo/options/indexoptions.go#L231-L233&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Max&lt;/a&gt; fields in &lt;tt&gt;IndexOptions&lt;/tt&gt;. The former specify ranges for particular fields as part of document validation; the latter specify inclusive boundaries for longitude and latitude values of 2D indexes. &lt;tt&gt;Validator&lt;/tt&gt;, as you mentioned, does not (in both the Go and Node drivers) allow the setting of index options like &lt;tt&gt;Min&lt;/tt&gt;, &lt;tt&gt;Max&lt;/tt&gt;, &lt;tt&gt;Unique&lt;/tt&gt; or &lt;tt&gt;Sparse&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;I do understand the desire to have a combined method for collection creation and index creation. However, we do try to minimize our number of administrative helpers, and a function like &lt;tt&gt;CreateCollectionWithIndexes&lt;/tt&gt; or &lt;tt&gt;CreateCollectionsFromModels&lt;/tt&gt; seems to be easily replaced with separate calls to &lt;tt&gt;CreateCollection&lt;/tt&gt; and &lt;tt&gt;IndexView#CreateMany&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="4370053" author="JIRAUSER1269345" created="Tue, 22 Feb 2022 21:32:04 +0000"  >&lt;p&gt;Hi Benji,&#160;&lt;/p&gt;

&lt;p&gt;Whilst I agree with some of the things you said, the main goal is to keep the model definition and index definition in one place.&lt;/p&gt;

&lt;p&gt;The Javascript driver for MongoDB allows one to specify &lt;tt&gt;minimum&lt;/tt&gt;, &lt;tt&gt;maximum&lt;/tt&gt; under the&#160;&lt;tt&gt;validator&lt;/tt&gt;. &lt;a href=&quot;https://docs.mongodb.com/manual/core/schema-validation&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Reference.&lt;/a&gt;. Although we can&apos;t specify&#160;&lt;tt&gt;unique: true&lt;/tt&gt;, or &lt;tt&gt;sparse: true&lt;/tt&gt;, here as well, I believe this is something that can be added quite easily.&lt;/p&gt;

&lt;p&gt;The ultimate vision I had for a function such as &lt;tt&gt;Migrate&lt;/tt&gt; (or &lt;tt&gt;CreateCollectionsFromModels&lt;/tt&gt;) is something that can help specify all the values under &lt;a href=&quot;https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo/options#IndexOptions&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;IndexOptions&lt;/tt&gt;&lt;/a&gt; (including &lt;tt&gt;minimum&lt;/tt&gt; and &lt;tt&gt;maximum&lt;/tt&gt; such as in the Javascript driver) along with the schema itself.&lt;/p&gt;</comment>
                            <comment id="4369697" author="benji.rewis" created="Tue, 22 Feb 2022 19:55:58 +0000"  >&lt;p&gt;Hello again, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=agarwal.lucky.shaurya11%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;agarwal.lucky.shaurya11@gmail.com&quot;&gt;agarwal.lucky.shaurya11@gmail.com&lt;/a&gt;! Thanks for all the clarification. It sounds like our hypothetical &lt;tt&gt;CreateCollectionFromModels&lt;/tt&gt; method serves two purposes: it creates collections based on the names of the models structs, and it creates indexes on those collections based on the existence of Go struct tags. It looks like the other fields in the model structs are ignored. While I think that method could be helpful in a particular use-case, I don&apos;t think the driver is the right place for it.&lt;/p&gt;

&lt;p&gt;Firstly, the proposed &lt;tt&gt;CreateCollectionFromModels&lt;/tt&gt; method is fairly targeted at a specific use-case. A fully-featured migration API that allows modifications to an existing schema (removal and addition of fields/indexes) would be more generally usable, but would be significantly more complex. We adhere to a cross-drivers &lt;a href=&quot;https://github.com/mongodb/specifications#minimize-administrative-helpers&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mantra&lt;/a&gt; to minimize the number and complexity of administrative helpers (like &lt;tt&gt;CreateCollectionsFromModels&lt;/tt&gt;) in our driver. The best place for this new method may be outside of the driver.&lt;/p&gt;

&lt;p&gt;Secondly, adding a method like &lt;tt&gt;CreateCollectionsFromModels&lt;/tt&gt; would make the Go driver deviant from other drivers, as that method is not defined in our cross-drivers specifications. While we &lt;em&gt;could&lt;/em&gt;&#160;make a change to add this method across drivers, the concept of using struct tags to specify desired indexes is distinct to Go, and may be difficult to replicate in other drivers.&lt;/p&gt;

&lt;p&gt;Given these reasons, I&#8217;m closing this ticket as &#8220;Won&#8217;t Do&#8221; for now, but let me know if I can be of help in any other way.&lt;/p&gt;</comment>
                            <comment id="4362134" author="JIRAUSER1269345" created="Thu, 17 Feb 2022 18:13:44 +0000"  >&lt;p&gt;Hi Benji,&lt;br/&gt;
 While MongoDB does not need the users to pre-define the schema for each model, in my opinion, in case someone is defining an index on a field, they&apos;d have some idea of what the data would look like in the given collection and they&apos;d be having some pre-defined fields defined somewhere. We can still do some research on this part. However, using StructTags would make it easier for them to create the indexes, and keep the complete model definition and index definition in one place.&lt;/p&gt;

&lt;p&gt;I believe a new method such as the one you mentioned &lt;tt&gt;CreateCollectionsFromModels(models ...interface{})&lt;/tt&gt; would work absolutely fine. The function could be called after connecting with the database.&lt;/p&gt;

&lt;p&gt;Something of the order&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;package db&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;func init() {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    ......&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    client, _ := mongo.Connect(ctx, options.Client().ApplyURI(&quot;connectionUri&quot;))&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    db := client.Database(&quot;db&quot;)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    db.CreateCollectionsFromModels(models...)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    .....&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="4361914" author="benji.rewis" created="Thu, 17 Feb 2022 16:59:49 +0000"  >&lt;p&gt;Thanks again for your improvement suggestion, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=agarwal.lucky.shaurya11%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;agarwal.lucky.shaurya11@gmail.com&quot;&gt;agarwal.lucky.shaurya11@gmail.com&lt;/a&gt; . I took a look at your &lt;tt&gt;ProductAPI&lt;/tt&gt;&#160;project and the associated &lt;tt&gt;Migrate&lt;/tt&gt;&#160;function. Creating collections by passing in &#8220;model&#8221; structs (like &lt;tt&gt;User&lt;/tt&gt;&#160;in your example above) that are struct-tagged with &#8220;mongo&#8221; to represent desired indexes and index options like &lt;tt&gt;Unique&lt;/tt&gt;&#160;and &lt;tt&gt;Sparse&lt;/tt&gt;&#160;is a very cool idea. The Go driver API does not natively allow the creation of collections with model structs as you&#8217;re describing.&lt;/p&gt;

&lt;p&gt;While an improvement like the one you&#8217;re suggesting could be interesting, two things are unclear to me. Firstly, I am unsure how common your use-case is; many users use MongoDB &lt;em&gt;because&lt;/em&gt;&#160;there&#8217;s no need to define a schema for each collection a priori. Specifically, BSON&#8217;s flexible document schema usually means you don&#8217;t need to know exactly what data will look like in your collection beforehand, so a function like &lt;tt&gt;Migrate&lt;/tt&gt;&#160;might not be that common. Secondly, I don&#8217;t think we have any existing API that could be altered to automatically create indexes from struct tags, as there is no function/method akin to &lt;tt&gt;Migrate&lt;/tt&gt;&#160;in the Go driver. Were we to add a method on &lt;tt&gt;Database&lt;/tt&gt;&#160;with a function-signature like &lt;tt&gt;CreateCollectionsFromModels(models&#8230; []interface)&lt;/tt&gt;, I believe we&#8217;d have to do so as part of a cross-drivers change.&lt;/p&gt;

&lt;p&gt;I&#8217;m curious what you were imagining for the Go driver: a new method on &lt;tt&gt;Database&lt;/tt&gt;? An alteration to an existing method?&lt;/p&gt;</comment>
                            <comment id="4359520" author="benji.rewis" created="Wed, 16 Feb 2022 18:28:20 +0000"  >&lt;p&gt;Thanks for your improvement suggestion, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=agarwal.lucky.shaurya11%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;agarwal.lucky.shaurya11@gmail.com&quot;&gt;agarwal.lucky.shaurya11@gmail.com&lt;/a&gt;! I&apos;m taking a look now.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i030un:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>