/// <summary> /// Edits a standard field on an issue. /// </summary> /// <param name="issue">The issue to edit the field on.</param> /// <param name="id">The id of the standard Issue field to edit.</param> /// <param name="value">The new value of the field.</param> public void EditField(Issue issue, IssueFieldId id, object value) { if (issue == null) { throw new ArgumentNullException("issue"); } var update = new UpdateFieldInput(id); update.AddOperation(StandardOperation.Set, value); var json = IssueEditMetaJsonGenerator.Generate(new List <UpdateFieldInput> { update }); client.Put <JsonObject>(issue.Self.ToString(), json); }
/// <inheritdoc/> public override void UpdateIssue( Issue issue, IssueFieldId fieldsToUpdate ) { }
public FieldInput(IssueFieldId field, object value) { Id = field.ToRestString(); Value = value; }
/// <summary> /// Initializes a new instance of the field updater. /// </summary> /// <param name="field">The field to update.</param> /// <param name="elements">The changes to make.</param> internal UpdateFieldInput(IssueFieldId field, IEnumerable<FieldUpdateElement> elements) { Field = field; Elements = elements.ToList(); }
public FieldInput(IssueFieldId field, object value) { Id = field.ToRestString(); Value = value; }
/// <inheritdoc/> public virtual void UpdateIssue( Issue issue, IssueFieldId fieldsToUpdate ) { _contained.UpdateIssue( issue, fieldsToUpdate ); }
/// <summary> /// Initializes a new instance of the field updater. /// </summary> /// <param name="field">The field to update.</param> internal UpdateFieldInput(IssueFieldId field) : this(field, new List<FieldUpdateElement>()) { }
/// <inheritdoc/> public override void UpdateIssue( Issue issue, IssueFieldId fieldsToUpdate ) { if( _config.IsOutputLogged ) { string actionText = string.Format( "UPDATE( {0} )", fieldsToUpdate.ToString( "G" ) ); LogIssue( actionText, issue ); } Contained.UpdateIssue( issue, fieldsToUpdate ); }
/// <inheritdoc/> public void Execute( Issue issue, IssueFieldId fieldsToUpdate) { int fieldCount = 0; var sb = new StringBuilder(); sb.AppendFormat( "/cards/{0}", issue.ID ); foreach( var x in fieldsToUpdate.Flags().Cast<IssueFieldId>() ) { sb.Append( fieldCount == 0 ? '?' : '&' ); switch( x ) { case IssueFieldId.Desc: sb.AppendFormat( "name={0}", HttpUtility.UrlEncode( issue.Description ) ); break; case IssueFieldId.Details: sb.AppendFormat( "desc={1}", HttpUtility.UrlEncode( issue.Details ) ); break; default: throw new ApplicationException( string.Format( "Update of {0} field is not supported", Enum.GetName( typeof( IssueFieldId ), x ) ) ); } fieldCount++; } if( fieldCount > 0 ) { SendRequest( sb.ToString() ); } }
/// <inheritdoc/> public override void UpdateIssue( Issue issue, IssueFieldId fieldsToUpdate ) { base.UpdateIssue( Denormalize( issue ), Denormalize( fieldsToUpdate ) ); }
private IssueFieldId Denormalize( IssueFieldId fields ) { IssueFieldId fieldsOut = fields; if( fields.HasFlag( IssueFieldId.ID ) ) { fieldsOut &= ~IssueFieldId.ID; fieldsOut |= IssueFieldId.Desc; } return fieldsOut; }
/// <summary> /// Initializes a new instance of the field updater. /// </summary> /// <param name="field">The standard field to update.</param> /// <param name="elements">The changes to make.</param> internal UpdateFieldInput(IssueFieldId field, IEnumerable <FieldUpdateElement> elements) { // Convert field enum to field name sooner and store as a string. FieldName = field.ToRestString(); Elements = elements.ToList(); }
/// <summary> /// Initializes a new instance of the field updater. /// </summary> /// <param name="field">The standard field to update.</param> internal UpdateFieldInput(IssueFieldId field) : this(field, new List <FieldUpdateElement>()) { }
public static string ToRestString(this IssueFieldId fieldId) { return(FieldNames[fieldId]); }